Much of the digital content that end users send and receive passes through various data networks that collectively form the Internet. End users gain access to these data networks through one or more carrier networks. Carrier networks include internet service providers (ISPs) that provide wired broadband connectivity (e.g., Digital Subscriber Line (DSL), cable, and fiber optic) through which end users access the Internet while at home or at the office. Carrier networks also include wireless service providers such as AT&T, Verizon, Sprint, and T-Mobile that provide wireless access to the Internet.
Data that passes through the carrier network between its end user subscribers and any external data networks imposes costs on the carrier network. These costs materialize in the form of (i) network costs for the bandwidth that is needed to send and receive data from the external data networks and (ii) infrastructure costs for equipment to interwork and transfer the data from the carrier network to the external data networks. To minimize these costs, carrier networks have utilized various caching implementations within their own networks. Such caching is intended to fulfill end user content requests by localizing traffic within the carrier network thereby reducing the amount of traffic that is exchanged between the carrier network and the external data networks. The reduced traffic results in lower overall network costs and infrastructure costs for the carrier network.
One such caching implementation that is widely used by carrier networks is transparent caching. FIG. 1 illustrates transparent caching within a carrier network. As shown, the carrier network includes multiple service regions 110, gateway 120, and transparent caching server 130. End user devices communicably couple to the service regions 110 in order to access data services of the carrier network. End user devices include smartphones, tablets, laptops, and other electronic devices with network connectivity. The service regions 110 include wired points of access and/or wireless service regions. The gateway 120 performs end user authentication, authorization, interworking, and other functionality to enable users to send data to and receive data from the external data network 140 (e.g., the Internet). All end user data therefore passes through the gateway 120 before being passed to the external data network 140. Some carrier networks include multiple gateways where each gateway services a set of service regions. It should be apparent that the description for the gateway is simplified for illustrative purposes. A gateway is composed of multiple components that each perform various functionality. For example, a gateway for a wireless carrier network may include a Mobile Switching Center (MSC), a Serving GPRS Support Node (SGSN), a Gateway GPRS Support Node (GGSN), and various databases including a Home Location Register (HLR).
The transparent caching server 130 intercepts all data passing from the gateway 120 to the external data network 140. The operation of the caching server 130 is transparent because no modifications have to be made to the gateway 120 or the external data network 140 in order to integrate and utilize the functionality that is provided by the caching server 130. The caching server 130 processes the data passing from the gateway 120 to identify content requests. The caching server 130 determines whether the requested content is cached within a local storage memory of the caching server 130. If so, the requested content is passed from the cache to the gateway 120 without the need to access the external data network 140. Otherwise, the request is passed through to the external data network 140 where it is routed to the source content provider. The source content provider hosts the requested content and passes the requested content to the requesting end user. As the requested content is passed from the external data network 140 through the gateway 120 to the requesting end user, the caching server 130 updates its cache with the most frequently requested content.
Transparent caching and other similar caching implementations have several shortcomings. Firstly, operation of the transparent caching server is resource intensive. The transparent caching server includes sufficient processing, memory, and network resources to intercept and process all data traffic that passes from the gateway to the external data network without creating a bottleneck or otherwise introducing delay in the operation of the carrier network. As a result, current transparent caching servers are expensive to deploy in a large carrier network. Secondly, the operation of the transparent caching server is inefficient as content for a small portion of the identified content requests is available within the transparent server cache. This results in a large number of cache misses and large amounts of data that is processed by the transparent caching server without yielding any benefit to the carrier network. Thirdly, transparent caching may fail to cache content that would result in the most cost savings to the carrier network. For example, certain video streams can consume disproportionate amounts of bandwidth, but these video streams may not be cached by the caching server when they are not requested as frequently as other content that consume less bandwidth. Fourthly, transparent caching may be slow to adapt to changing traffic patterns. For example, the carrier network may anticipate that an upcoming event will be highly desired. However, until the content for the highly desired event is requested a sufficient number of times, the caching server will not store that content to cache.
Therefore, there is a need to provide more efficient caching within the carrier network. There is also a need to reduce the implementation costs for such caching.